home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / dns / e164.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  2KB  |  48 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. import dns.exception as dns
  5. import dns.name as dns
  6. import dns.resolver as dns
  7. public_enum_domain = dns.name.from_text('e164.arpa.')
  8.  
  9. def from_e164(text, origin = public_enum_domain):
  10.     parts = _[1]
  11.     parts.reverse()
  12.     return dns.name.from_text('.'.join(parts), origin = origin)
  13.  
  14.  
  15. def to_e164(name, origin = public_enum_domain, want_plus_prefix = True):
  16.     if origin is not None:
  17.         name = name.relativize(origin)
  18.     
  19.     dlabels = _[1]
  20.     dlabels.reverse()
  21.     text = ''.join(dlabels)
  22.     if want_plus_prefix:
  23.         text = '+' + text
  24.     
  25.     return text
  26.  
  27.  
  28. def query(number, domains, resolver = None):
  29.     if resolver is None:
  30.         resolver = dns.resolver.get_default_resolver()
  31.     
  32.     for domain in domains:
  33.         if isinstance(domain, (str, unicode)):
  34.             domain = dns.name.from_text(domain)
  35.         
  36.         qname = dns.e164.from_e164(number, domain)
  37.         
  38.         try:
  39.             return dns.resolver.query(qname, 'NAPTR')
  40.         continue
  41.         except dns.resolver.NXDOMAIN:
  42.             continue
  43.         
  44.  
  45.     
  46.     raise dns.resolver.NXDOMAIN
  47.  
  48.